def cache_request(conn,request,callback):
    if not can_cache(conn,request):
        #对于不能被缓存的请求，直接调用毁掉函数
        return callback(request)
    #将请求转换成一个简单的字符串建，方便之后进行查找
    page_key='cache:'+hash_request(request)
    #尝试查找被缓存的页面
    content=conn.get(page_key)

    if not content:
        #如果页面没有被缓存，那么生成页面
        content=callback(request)
        #将新生成的页面存放到缓存里面
        conn.setex(page_key,content,300)
    return content